#ifndef _LISTA_H
#define _LISTA_H

#include "../../structs.h"

Lista* constructor_lista();
void inicializar_nodo(Nodo* nuevo, SDL_Surface *surfacePers, SDL_Surface *surfaceGen, Uint32 x, Uint32 y, Uint32 ID);
bool verificar_id (Lista* la_lista, Uint32 ID);
void agregar_item_ordenado(Lista* la_lista, SDL_Surface* surfacePers, SDL_Surface* surfaceGen, Uint32 x, Uint32 y, Uint32 ID);
void borrar(Lista* la_lista, Uint32 x, Uint32 y);
void liberar_lista(Lista* l);

Iterador* constructor_iterador(Lista *lista);
void proximo(Iterador *iter);
Nodo* item(Iterador *iter);
bool hay_proximo(Iterador *iter);
void liberar_iterador(Iterador *iter);
#endif /* _LISTA_H */
